#tuple（🐏储存不同类型信息，不可修改）等价于只读list
# 定义元组
# t1=(1,'hello',True)
# #定义空元组的两种方法👇
# t2=()
# t3=tuple()
# print(f"t1的类型是：{type(t1)},内容是：{t1}")
# print(f"t2的类型是：{type(t2)},内容是：{t2}")
# print(f"t3的类型是：{type(t3)},内容是：{t3}")
#
# #定义单个元素的元组
# t4=("hello",)#🐖注意有个逗号才能表示元组，否则表示的是字符串
# print(f"t4的类型是：{type(t4)},内容是：{t4}")
#
# #元组的嵌套
# t5=((1,2,3,),(4,5,6))
# print(f"t3的类型是：{type(t5)},内容是：{t5}")
# #下标索引去取出内容
# num=t5[1][2]
# print(f'从嵌套元组取出的数据是；{num}')

# #元组的相关操作
# #index()--查找某个数据，若数据存在则返回对应的下标，否则报错
# t=("k","m",'p')
# index=t.index('m')
# print(f"在元组t中查找m，的下标是：{index}")
# #count()--统计某个数据在当前元组出现的次数
# t1=("k","m","m","m",'p')
# num=t1.count("m")
# print(f"在元组t1中m的数量有；{num}个")
# #len(元组)--统计元组内元素个数
# t2=("k","m","m","m",'p')
# num=len(t2)
# print(f"t2元组中的元素有；{num}个")

# #元组的遍历：while
# t2=("k","m","m","m",'p')
# index=0
# while index<len(t2):
#     print(f'元组的元素有：{t2[index]}')
#     index+=1
#
# #元组的遍历：for
# for element in t2:
#     print(f"2元组的元素有：{element}")

# 元组的特点
# 1.可容纳多个数据
# 2.可容纳不同类型的数据（混装）
# 3.数据是有序储存的（下标索引）
# 4.允许重复数据存在
# 5.❗🐖不可以修改（增加或减少元素等），but🐏（可以修改内部list的内部元素）
# #👇
# t=(1,2,["i",'h'])
# print(f't的内容是：{t}')
# t[2][0]='k'
# t[2][1]='o'
# print(f't的内容是：{t}')
# 6.支持for循环


# 练习案例:元组的基本操作
# 定义一个元组，内容是: ('周杰轮",11,[‘football'，”music"])，
# 记录的是一个学生的信息(姓名、年龄、爱好)
# 请通过元组的功能(方法)，对其进行
# 1.查询其年龄所在的下标位置
# 2.查询学生的姓名
# 3.删除学生爱好中的football
# 4.增加爱好: coding到爱好list内
# t=('周杰伦',11,["football","music"])
# print(t.index(11))
# name=t[0]
# print('name')
# h=t[2]
# print(h)
# h.remove('football')
# print(t)
# # ❗h.insert("coding")
# # 👆TypeError: insert expected 2 arguments, got 1
# h.insert(0,"coding")
# print(t)
















